#pragma once
/*
Q5: 一组整数采用循环单链表存储，完成以下操作：
（1） 创建链表；
（2） 将循环单链表中的元素就地逆置；
（3）将循环单链表中的元素按照从大到小进行排序；
（4）输出
*/

#include<stdio.h>
#include<stdlib.h>
#include<assert.h>


typedef int ElemType;

typedef struct SNode
{
	ElemType data;
	struct SNode* next;
}SNode, * SqList;

// 创建链表
SqList creat_SqList();

SqList new_node(ElemType x);
void insert_gather(SqList pos, ElemType x);

//输出
void display_SqList(SqList L);

// 将循环单链表中的元素就地逆置
void reverse_SqList(SqList L);

//将循环单链表中的元素按照从大到小进行排序
SqList sort_SqList(SqList L);